package main

import (
	"bufio"
	"fmt"
	"net"
	"os"
	"strings"
)

func main() {
	//1.建立连接
	conn, err := net.Dial("tcp", "127.0.0.1:8080")
	if err != nil {
		panic(err)
	}
	//3.关闭连接
	defer conn.Close()

	//2.发送数据
	inputReader := bufio.NewReader(os.Stdin)
	for {

		input, _ := inputReader.ReadString('\n') //经测试 这里会阻塞 直到有数据
		inputInfo := strings.Trim(input, "\r\n")
		if strings.ToUpper(inputInfo) == "Q" { //输入q就退出
			return
		}
		_, err := conn.Write([]byte(inputInfo))
		if err != nil {
			return
		}
		buf := make([]byte, 512)
		n, err := conn.Read(buf) //经测试 这里会阻塞 直到有数据
		if err != nil {
			return
		}
		fmt.Println("服务端发来的消息：", string(buf[:n]))
	}

}
